package com.bgys.common.domain;


import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Map;

/**
 * http请求返回结果
 * @author 悲歌易水
 */
@ApiModel("响应结果")
@Data
public class AjaxResult<T> {
    /** 状态码 */
    @ApiModelProperty("状态码")
    private int code;
    /** 数据对象 */
    @ApiModelProperty("数据对象")
    private T data;
    /** 返回内容 */
    @ApiModelProperty("返回内容")
    private String message;

    public AjaxResult() {
    }

    /**
     *
     * @param code
     * @param message
     * @param data
     */
    public AjaxResult(int code, String message, T data) {
        this.code = code;
        this.data = data;
        this.message = message;
    }

    /**
     * 返回成功信息
     *
     * @return
     */
    public static AjaxResult success() {
        return AjaxResult.success("操作成功");
    }

    /**
     * 返回成功信息
     *
     * @param message 返回内容
     * @return
     */
    public static AjaxResult success(String message) {
        return AjaxResult.success(message, null);
    }

    /**
     * 返回成功信息
     *
     * @param data 数据对象
     * @return
     */
    public static AjaxResult success(Map data) {
        return AjaxResult.success("操作成功", data);
    }

    /**
     * 返回成功信息
     *
     * @param message 返回内容
     * @param data 数据对象
     * @return
     */
    public static AjaxResult success(String message, Map data) {
        return new AjaxResult(200, message, data);
    }
}
